package com.jk.hearthstone.card.arms;

import com.jk.hearthstone.card.BaseCard;
import com.jk.hearthstone.data.Desktop;
import com.jk.hearthstone.data.History;

/**
 * 所有武器的基类
 * @author jk
 */
public abstract class BaseArms extends BaseCard implements Cloneable {
    public Integer att;
    public Integer durable;

    public Boolean bloodSucking = false; //吸血
    public Boolean windfury = false; //风怒
    public Integer attackNum = 1; //可攻击次数

    /**
     * 战吼
     * @param desktop 桌面环境
     * @param history 游戏历史
     */
    public abstract void battleCry(Desktop desktop, History history);

    /**
     * 亡语
     * @param desktop 桌面环境
     * @param history 游戏历史
     */
    public abstract void deadWords(Desktop desktop, History history);

    /**
     * 攻击时发动效果
     * @param desktop 桌面环境
     * @param history 游戏历史
     */
    public abstract void attack(Desktop desktop, History history);

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
